package yl.hs.bmipfull.daos.salemanage;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import yl.hs.bmipfull.daos.BaseDao;
import yl.hs.bmipfull.pojo.salemanage.SaleOrderPlaceDetailEntity;
import yl.hs.bmipfull.pojo.salemanage.SaleOrderPlaceEntity;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 作用:  销售订单产品明细持久层接口<br/>
 * 创建时间: 2023年06月25日 10时54分08秒 <br/>
 * @author 吴高丰
 */
@Repository
public interface ISaleOrderPlaceDetailDao extends BaseDao<SaleOrderPlaceDetailEntity>{



        /**
         *  分页查询销售订单产品明细信息
         *  @param map 查询条件 {@link SaleOrderPlaceDetailEntity}
         *  @return 站内信息-List<{@link SaleOrderPlaceDetailEntity}>
         */
        List<SaleOrderPlaceDetailEntity> queryPage(@Param("map") Map<String, Object> map);
        /**
         * 根据查询条件统计数据数量
         * @param map 查询条件
         * @return 数据数量
         */
        Integer queryCountByCondition(@Param("map") Map<String, Object> map);

        /**
         *  根据销售订单产品明细编号更改销售订单产品明细信息状态
         * @param snArray 销售订单产品明细编号
         * @param state 要改变的状态
         * @return 执行结果
         */
        Integer changeStateBySN(String[] snArray, short state);

        Integer deleteByPlaceSn(String sn);
        List<SaleOrderPlaceDetailEntity> querySalePlaceSn(String sn);
        BigDecimal findByContractSnMoney(String contractSN);
        BigDecimal queryListByState(String productSN);
        List<SaleOrderPlaceDetailEntity> queryListByOrderState(int state);
        }